نشر تطبيق Laravel على منصة Heroku
تعد منصة Heroku واحدة من أكثر منصات السحابة شهرة واستخدامًا في عالم تطوير البرمجيات، حيث توفر بيئة قابلة للتوسع بشكل آلي، كما تسمح للمطورين بنشر التطبيقات على الخوادم السحابية دون الحاجة إلى إدارة البنية التحتية. يختار العديد من المطورين Heroku لما توفره من مرونة وسهولة في نشر التطبيقات باستخدام تقنيات مختلفة. وفي هذا المقال، سوف نتناول كيفية نشر تطبيق Laravel على Heroku، وهي إحدى أشهر تقنيات تطوير التطبيقات باستخدام PHP.
ما هو تطبيق Laravel؟
Laravel هو إطار عمل مفتوح المصدر لتطوير تطبيقات الويب باستخدام لغة PHP. يتميز بالعديد من الخصائص التي تسهل عملية تطوير التطبيقات المعقدة مثل التحقق من البيانات، إدارة قواعد البيانات، التوجيه، توفير أدوات أمان متقدمة، و التعامل مع الطلبات المتعددة. يتيح Laravel للمطورين بناء تطبيقات ويب قوية ومرنة بسرعة، مع تقليل الجهد المطلوب لتنفيذ المهام المتكررة.
ما هو Heroku؟
Heroku هو عبارة عن منصة سحابية (PaaS – Platform as a Service) تتيح للمطورين نشر التطبيقات وتشغيلها بسرعة، بغض النظر عن البيئة أو الأدوات التي يستخدمونها. يمكن استخدام Heroku مع العديد من لغات البرمجة مثل Ruby، Node.js، PHP، Python، Java وغيرها، مما يجعله خيارًا ممتازًا للمطورين في العديد من المجالات. تتمثل أكبر ميزة في Heroku في إدارة البنية التحتية بشكل كامل، مما يسمح للمطورين بالتركيز فقط على الكود دون القلق بشأن الصيانة أو التوسيع.
خطوات نشر تطبيق Laravel على Heroku
العملية بشكل عام تتطلب بعض الخطوات الأساسية لضبط بيئة التطبيق على Heroku وضمان تشغيله بشكل صحيح. دعونا نمر عبر كل خطوة بالتفصيل:
1. تحضير بيئة العمل
قبل البدء في نشر تطبيق Laravel على Heroku، تأكد من أنك قد قمت بإعداد بيئة العمل على جهازك المحلي. يجب أن تتأكد من أن الأدوات التالية موجودة على جهازك:
-
PHP: يمكنك التأكد من تثبيت PHP عبر الأمر
php -vفي سطر الأوامر. -
Composer: وهو أداة لإدارة مكتبات PHP. يمكن التحقق من وجوده عبر الأمر
composer -v. -
Git: أداة لإدارة الإصدارات، يمكنك التحقق من وجودها عبر الأمر
git --version. -
Heroku CLI: أداة سطر الأوامر الخاصة بـ Heroku لإدارة التطبيقات على المنصة، يمكنك تثبيتها من خلال زيارة موقع Heroku.
2. إعداد التطبيق المحلي
إذا كان لديك تطبيق Laravel محلي جاهز، فتأكد من أن جميع الإعدادات الخاصة به سليمة، مثل إعدادات .env الخاصة بقاعدة البيانات.
-
تأكد من إضافة
.envفي Gitignore لكي لا يتم رفعه إلى Heroku. -
قم بضبط إعدادات البيئة الإنتاجية في ملف .env (مثل
APP_ENV=production). -
قم بإعداد قاعدة البيانات بحيث تستخدم Heroku Postgres بدلاً من قاعدة البيانات المحلية إذا كنت تستخدم قاعدة بيانات.
3. إعداد Procfile
في منصة Heroku، لا يتم تحديد كيف يجب أن يعمل التطبيق تلقائيًا. لذلك، تحتاج إلى إنشاء ملف يسمى Procfile في الجذر (root) الخاص بمشروع Laravel. هذا الملف يخبر Heroku كيفية تشغيل التطبيق. يجب أن يحتوي على السطر التالي:
swiftweb: vendor/bin/heroku-php-apache2 public/
هذا يعني أن Heroku سيستخدم Apache لتشغيل التطبيق من خلال المسار public/.
4. إضافة Heroku Remote إلى Git
بعد تجهيز تطبيق Laravel محليًا، يجب أن تضيف Heroku Remote إلى مستودع Git الخاص بالتطبيق. لتقوم بذلك، ابدأ أولاً في تهيئة مستودع Git إذا لم يكن قد تم تهيئته بعد:
bashgit init
ثم، قم بتسجيل الدخول إلى Heroku CLI باستخدام الأمر:
bashheroku login
سيطلب منك Heroku CLI إدخال بيانات اعتماد حسابك، وبعد ذلك ستتمكن من الوصول إلى كافة التطبيقات.
بعد تسجيل الدخول، قم بإنشاء تطبيق جديد على Heroku:
bashheroku create
سيتولى Heroku تحديد اسم التطبيق وتوفير عنوان URL له، بالإضافة إلى إعداد Git Remote تلقائيًا لهذا التطبيق. في حال كنت ترغب في تحديد اسم للتطبيق يدويًا، يمكنك تحديد الاسم عند تنفيذ الأمر:
bashheroku create my-laravel-app
5. نشر التطبيق على Heroku
الخطوة التالية هي نشر التطبيق باستخدام Git. ابدأ أولاً بإضافة التغييرات إلى Git باستخدام الأوامر:
bashgit add .
git commit -m "Initial commit"
ثم، قم بدفع التغييرات إلى Heroku باستخدام:
bashgit push heroku master
سيقوم Heroku بتحويل الكود إلى بيئة الإنتاج وتثبيت التبعيات مثل Composer.
6. إعداد قاعدة البيانات
إذا كنت تستخدم قاعدة بيانات PostgreSQL في Heroku، يمكن إضافتها عبر سطر الأوامر:
bashheroku addons:create heroku-postgresql:hobby-dev
بعد إضافة قاعدة البيانات، ستحتاج إلى تشغيل الترحيلات (migrations) لتحديث قاعدة البيانات وفقًا للهيكل الجديد للتطبيق. للقيام بذلك، يمكنك استخدام الأمر التالي:
bashheroku run php artisan migrate
7. تكوين التخزين (Storage)
في بعض الأحيان، قد تحتاج إلى تكوين التخزين المحلي ليعمل بشكل صحيح على Heroku. وذلك لأن Heroku لا يتيح التخزين الدائم في النظام المحلي. يتم حفظ البيانات فقط في الذاكرة المؤقتة، لذا فإن كل ما تقوم بتخزينه سيختفي إذا تم إعادة تشغيل التطبيق.
لحل هذه المشكلة، يمكنك استخدام Amazon S3 أو Cloudinary أو أي خدمة تخزين سحابية أخرى. بعد اختيار الخدمة المناسبة، قم بتعديل إعدادات .env لتشمل مفاتيح API الخاصة بالخدمة.
8. تكوين البريد الإلكتروني
في حالة الحاجة إلى إرسال رسائل بريد إلكتروني من تطبيقك، يمكنك استخدام خدمة مثل Mailgun أو SendGrid، اللتين تدعمان Heroku بشكل كامل.
قم بتثبيت Mailgun عبر:
bashheroku addons:create mailgun
ثم، قم بتعديل إعدادات البريد في .env لتضمين بيانات الاتصال الخاصة بخدمة Mailgun.
9. مراقبة التطبيق
بعد نشر التطبيق، يمكنك مراقبته عبر Heroku Logs:
bashheroku logs --tail
سيساعدك هذا في متابعة أي أخطاء أو مشكلات تظهر أثناء تشغيل التطبيق.
الخاتمة
لقد قمنا في هذا المقال بشرح خطوة بخطوة كيفية نشر تطبيق Laravel على منصة Heroku. من خلال هذه العملية، يمكن للمطورين بسهولة نشر تطبيقاتهم وإدارتها باستخدام أدوات Heroku السحابية. تعد Heroku خيارًا ممتازًا للمطورين الذين يرغبون في التركيز على تطوير التطبيقات دون الحاجة للقلق بشأن إدارة الخوادم أو البنية التحتية.

